package com.gk.panda.apis.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gk.panda.apis.entity.largeScreen.vo.PersonVo;
import com.gk.panda.pojo.Org;

import java.util.List;

public interface OrgService extends IService<Org> {

    /**
     * 根据id删除机构
     * @param id
     * @return
     */
    int deleteById(int id);

    /**
     * 根据机构id获取自身及下属机构id列表
     * @param orgId
     * @return
     */
    List<Integer> getPuisneOrgIds(int orgId);

    /**
     * 获取四个区域人员数量信息
     * @return
     */
    List<PersonVo> getPersonInfo();

    /**
     * 根据机构id获取下属机构列表（不包括自身）
     * @param id
     * @return
     */
    List<Org> getPuisneOrgListById(Integer id);

    /**
     * 根据机构id获取总站机构id（分局及总站返回自身id）
     * @param totalOrgId
     * @return
     */
    Integer getTotalOrgId(Integer totalOrgId);

    /**
     * 根据机构id获取机构缩写
     * @param id
     * @return
     */
    String getAbbrById(Integer id);

    /**
     * 分页查询机构列表
     * @param pageNumber
     * @param pageSize
     * @return
     */
    Page<Org> getOrgPage(int pageNumber, int pageSize);

    /**
     * 根据机构id分页查询自身及下属机构列表
     * @param pageNumber
     * @param pageSize
     * @param orgId
     * @return
     */
    Page<Org> getOrg(int pageNumber, int pageSize, Integer orgId);
}
